haptic5 2.2.0
Loading...
Searching...
No Matches
haptic5.h File Reference

This file contains API for Haptic 5 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_pwm.h"

Go to the source code of this file.

Data Structures

struct  haptic5_t
 Haptic 5 Click context object. More...
struct  haptic5_cfg_t
 Haptic 5 Click configuration object. More...

Macros

#define HAPTIC5_REG_PRODUCT_NUM   0x0000
 Haptic 5 register map.
#define HAPTIC5_REG_MAJOR_VER   0x0002
#define HAPTIC5_REG_MINOR_VER   0x0004
#define HAPTIC5_REG_SYSTEM_STATUS   0x1000
#define HAPTIC5_REG_SYSTEM_SETTINGS   0x1002
#define HAPTIC5_REG_OVER_TEMP_SETTINGS   0x1003
#define HAPTIC5_REG_CONT_MODE_REP_TIME   0x1004
#define HAPTIC5_REG_SYSTEM_CONTROL   0x1006
#define HAPTIC5_REG_HAPTIC_CONTROL   0x1007
#define HAPTIC5_REG_HBRIDGE_SETUP   0x2000
#define HAPTIC5_REG_PWM_FREQUENCY   0x20A0
#define HAPTIC5_REG_LRA_FREQUENCY   0x20A2
#define HAPTIC5_REG_AUTORESONANCE_BOFF   0x20A4
#define HAPTIC5_COM_PWM   0
 Haptic 5 communication select setting.
#define HAPTIC5_COM_I2C   1
#define HAPTIC5_DEFAULT_COM   HAPTIC5_COM_PWM
#define HAPTIC5_PRODUCT_NUM   0x09B9
 Haptic 5 PRODUCT_NUM register setting.
#define HAPTIC5_SYSTEM_SETTINGS_MODE_NORMAL   0x00
 Haptic 5 SYSTEM_SETTINGS register setting.
#define HAPTIC5_SYSTEM_SETTINGS_MODE_CONTINUOUS   0x80
#define HAPTIC5_SYSTEM_SETTINGS_MODE_MASK   0x80
#define HAPTIC5_SYSTEM_SETTINGS_TRIGGER_EDGE   0x00
#define HAPTIC5_SYSTEM_SETTINGS_TRIGGER_LEVEL   0x40
#define HAPTIC5_SYSTEM_SETTINGS_TRIGGER_MASK   0x40
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_0MS   0x00
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_512MS   0x04
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_1024MS   0x08
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_1536MS   0x0C
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_2048MS   0x10
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_2560MS   0x14
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_3072MS   0x18
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_3584MS   0x1C
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_4096MS   0x20
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_4608MS   0x24
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_5120MS   0x28
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_5632MS   0x2C
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_6144MS   0x30
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_6656MS   0x34
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_7168MS   0x38
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_7680MS   0x3C
#define HAPTIC5_SYSTEM_SETTINGS_TIMEOUT_MASK   0x3C
#define HAPTIC5_SYSTEM_SETTINGS_PWR_MODE_FAST   0x00
#define HAPTIC5_SYSTEM_SETTINGS_PWR_MODE_ULP   0x01
#define HAPTIC5_SYSTEM_SETTINGS_PWR_MODE_AUTO   0x02
#define HAPTIC5_SYSTEM_SETTINGS_PWR_MODE_MASK   0x03
#define HAPTIC5_SYSTEM_CONTROL_SOFT_RESET   0x02
 Haptic 5 SYSTEM_CONTROL register setting.
#define HAPTIC5_SYSTEM_CONTROL_ACK_RESET   0x01
#define HAPTIC5_PWM_DEF_FREQ   20000
 Haptic 5 default PWM frequency.
#define HAPTIC5_PWM_DEF_DUTY   0.0
#define HAPTIC5_DEVICE_ADDRESS_0   0x54
 Haptic 5 device address setting.
#define HAPTIC5_DEVICE_ADDRESS_1   0x40
#define HAPTIC5_DEVICE_ADDRESS_0_DEBUG   0x55
#define HAPTIC5_DEVICE_ADDRESS_1_DEBUG   0x41
#define HAPTIC5_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  haptic5_return_value_t { HAPTIC5_OK = 0 , HAPTIC5_ERROR = -1 }
 Haptic 5 Click return value data. More...

Functions

void haptic5_cfg_setup (haptic5_cfg_t *cfg)
 Haptic 5 configuration object setup function.
err_t haptic5_init (haptic5_t *ctx, haptic5_cfg_t *cfg)
 Haptic 5 initialization function.
err_t haptic5_default_cfg (haptic5_t *ctx)
 Haptic 5 default configuration function.
err_t haptic5_set_duty_cycle (haptic5_t *ctx, float duty_cycle)
 Haptic 5 set duty cycle function.
err_t haptic5_pwm_stop (haptic5_t *ctx)
 Haptic 5 stop PWM function.
err_t haptic5_pwm_start (haptic5_t *ctx)
 Haptic 5 start PWM function.
void haptic5_set_dir_forward (haptic5_t *ctx)
 Haptic 5 set direction forward function.
void haptic5_set_dir_reverse (haptic5_t *ctx)
 Haptic 5 set direction reverse function.
void haptic5_toggle_dir (haptic5_t *ctx)
 Haptic 5 toggle direction function.
void haptic5_enable_device (haptic5_t *ctx)
 Haptic 5 enable device function.
void haptic5_disable_device (haptic5_t *ctx)
 Haptic 5 disable device function.

Detailed Description

This file contains API for Haptic 5 Click Driver.

Enumeration Type Documentation

◆ haptic5_return_value_t

Haptic 5 Click return value data.

Predefined enum values for driver return values.

Enumerator
HAPTIC5_OK 
HAPTIC5_ERROR